package com.qf.rbac2202.sys.service;

import com.qf.rbac2202.sys.entity.SysRole;
import com.baomidou.mybatisplus.extension.service.IService;
import com.qf.rbac2202.utils.PageVo;

import java.util.Map;

/**
 * <p>
 * 角色 服务类
 * </p>
 *
 * @author dong_
 * @since 2022-10-28
 */
public interface ISysRoleService extends IService<SysRole> {

    /**
     * 分页查询角色信息
     * @param parmas
     * @return
     */
    PageVo<SysRole> queryByPage(Map<String, String> parmas);

    /**
     * 保存角色信息
     * （1） 保存基本信息到 sys_role
     * （2） 保存 角色和菜单信息 到  sys_role_menu
     *  (3)  保存 角色和部门关系 到  sys_role_dept
      * @param sysRole
     */
    void saveRole(SysRole sysRole);

    /**
     * 查询id对应的角色信息，需要把 menuIdList 和 deptIdList都查出来
     * @param roleId
     * @return
     */
    SysRole getRoleById(Long roleId);

    /**
     * 更新角色信息 ，需要更新角色基本信息表sys_role，更新sys_role_menu，更新sys_role_dept
     * @param sysRole
     */
    void updateRole(SysRole sysRole);
}
